# -*- coding: utf-8 -*-
from datetime import timedelta
import pendulum
from airflow.exceptions import AirflowSkipException
from utils.operators.spark_submit import SparkSubmitOperator

jdbcUrl='{{ var.json.oracle_bigdata_19c.url }}'
username='{{ var.json.oracle_bigdata_19c.username }}'
password='{{ var.json.oracle_bigdata_19c.password }}'
exe_hour='{{ execution_date | hour_add(1) | cst_hour_ds }}'      # 0点
exe_ex0='{{ execution_date | cst_hour_ds }}'                # 23点
exe_ex1='{{ execution_date | hour_add(-1) | cst_hour_ds }}' # 22点
exe_ex2='{{ execution_date | hour_add(-2) | cst_hour_ds }}' # 21点
exe_ex3='{{ execution_date | hour_add(-3) | cst_hour_ds }}' # 20点
exedt_ex1='{{ execution_date | date_add(-1) | cst_ds }}'        # 白天-昨天 0点-前天
exe_dt='{{ execution_date | cst_ds }}'                           # 白天-今天 0点-昨天

dtvalue='{{ execution_date | cst_hour }}' # 分区

table="yl_oms_oms_waybill_update_hi"
env='{{ var.value.env_sync }}'
jsonpara="""{
"reader":{
"connect":{
"url":"jdbcUrlpara",
"username":"usernamepara",
"password":"passwordpara",
"driver":"oracle.jdbc.driver.OracleDriver"
},
"dbtype":"oracle",
"tableName":"yl_oms_oms_waybill",
"indexName":"YL_OMS_OMS_WAYBILL_INDX4",
"where":"
input_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex3:10:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex3:10:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex3:20:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex3:20:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex3:30:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex3:30:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex3:40:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex3:40:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex3:50:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex3:50:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss');

input_time>=to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex2:10:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex2:10:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex2:20:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex2:20:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex2:30:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex2:30:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex2:40:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex2:40:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex2:50:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex2:50:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss');

input_time>=to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex1:10:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex1:10:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex1:20:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex1:20:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex1:30:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex1:30:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex1:40:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex1:40:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex1:50:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex1:50:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss');

input_time>=to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex0:10:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex0:10:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex0:20:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex0:20:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex0:30:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex0:30:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex0:40:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex0:40:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_ex0:50:00', 'yyyy-mm-dd hh24:mi:ss');
input_time>=to_date('exe_ex0:50:00', 'yyyy-mm-dd hh24:mi:ss') and input_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');

(input_time>=to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 and input_time<to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex3:20:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 and input_time<to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 ) and last_update_time>=to_date('exe_ex3:20:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex3:40:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 and input_time<to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 ) and last_update_time>=to_date('exe_ex3:40:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss');

(input_time>=to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 and input_time<to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 ) and last_update_time>=to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex2:20:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 and input_time<to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 ) and last_update_time>=to_date('exe_ex2:20:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex2:40:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 and input_time<to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 ) and last_update_time>=to_date('exe_ex2:40:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss');

(input_time>=to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 and input_time<to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 ) and last_update_time>=to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex1:20:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 and input_time<to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 ) and last_update_time>=to_date('exe_ex1:20:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex1:40:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 and input_time<to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 ) and last_update_time>=to_date('exe_ex1:40:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss');

(input_time>=to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 and input_time<to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 ) and last_update_time>=to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex0:20:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 and input_time<to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 ) and last_update_time>=to_date('exe_ex0:20:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex0:40:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 and input_time<to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 ) and last_update_time>=to_date('exe_ex0:40:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');

(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 ) and last_update_time>=to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 ) and last_update_time>=to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -0 ) and last_update_time>=to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');

(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -1 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -1 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -1 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -1 ) and last_update_time>=to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -1 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -1 ) and last_update_time>=to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -1 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -1 ) and last_update_time>=to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');

(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -2 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -2 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -2 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -2 ) and last_update_time>=to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -2 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -2 ) and last_update_time>=to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -2 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -2 ) and last_update_time>=to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');

(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -3 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -3 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -3 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -3 ) and last_update_time>=to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -3 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -3 ) and last_update_time>=to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -3 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -3 ) and last_update_time>=to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');

(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -4 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -4 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -4 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -4 ) and last_update_time>=to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -4 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -4 ) and last_update_time>=to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -4 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -4 ) and last_update_time>=to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');

(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -5 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -5 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -5 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -5 ) and last_update_time>=to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -5 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -5 ) and last_update_time>=to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -5 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -5 ) and last_update_time>=to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');

(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -6 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -6 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -6 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -6 ) and last_update_time>=to_date('exe_ex2:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -6 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -6 ) and last_update_time>=to_date('exe_ex1:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -6 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -6 ) and last_update_time>=to_date('exe_ex0:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');

(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -7 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -7 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -8 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -8 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -9 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -9 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -10 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -10 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -11 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -11 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -12 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -12 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -13 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -13 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -14 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -14 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -15 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -15 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -16 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -16 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -17 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -17 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -18 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -18 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -19 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -19 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -20 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -20 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -21 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -21 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -22 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -22 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -23 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -23 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -24 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -24 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -25 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -25 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -26 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -26 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -27 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -27 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -28 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -28 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -29 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -29 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -30 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -30 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -31 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -31 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -32 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -32 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -33 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -33 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -34 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -34 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -35 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -35 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -36 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -36 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -37 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -37 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -38 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -38 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -39 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -39 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -40 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -40 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -41 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -41 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -42 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -42 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -43 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -43 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -44 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -44 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -45 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -45 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -46 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -46 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -47 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -47 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -48 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -48 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -49 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -49 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -50 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -50 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -51 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -51 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -52 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -52 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -53 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -53 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -54 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -54 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -55 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -55 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -56 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -56 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -57 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -57 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -58 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -58 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -59 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -59 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -60 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -60 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -61 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -61 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -62 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -62 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -63 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -63 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -64 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -64 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -65 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -65 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -66 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -66 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -67 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -67 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -68 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -68 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -69 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -69 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -70 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -70 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -71 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -71 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -72 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -72 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -73 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -73 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -74 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -74 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -75 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -75 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -76 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -76 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -77 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -77 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -78 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -78 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -79 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -79 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -80 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -80 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -81 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -81 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -82 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -82 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -83 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -83 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -84 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -84 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -85 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -85 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -86 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -86 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -87 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -87 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -88 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -88 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
(input_time>=to_date('exedt_ex1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -89 and input_time<to_date('exe_dt 00:00:00', 'yyyy-mm-dd hh24:mi:ss') -89 ) and last_update_time>=to_date('exe_ex3:00:00', 'yyyy-mm-dd hh24:mi:ss') and last_update_time<to_date('exe_hour:00:00', 'yyyy-mm-dd hh24:mi:ss');
",
"query":"",
"splitColumn":"",
"equalitySectioning":0,
"containsnull":0,
"fetchsize":"1024",
"threadNumber":-1
},
"channel":{
"filterAbnormalCharacter":1
},
"writer":{
"dbtype":"hive",
"tableName":"tablepara",
"database":"jms_ods",
"writeMode": "overwrite",
"partitionColumn":"dt",
"partitionValue":"dtvalue"},
"settting":{
"env":"envpara"}
}""".replace("jdbcUrlpara",jdbcUrl) \
    .replace("usernamepara",username) \
    .replace("passwordpara",password) \
    .replace("dtvalue",dtvalue) \
    .replace("exe_hour",exe_hour) \
    .replace("exe_ex0",exe_ex0) \
    .replace("exe_ex1",exe_ex1) \
    .replace("exe_ex2",exe_ex2) \
    .replace("exe_ex3",exe_ex3) \
    .replace("exedt_ex1",exedt_ex1) \
    .replace("exe_dt",exe_dt) \
    .replace("tablepara",table) \
    .replace("envpara",env)

cst = pendulum.timezone('Asia/Shanghai')
class etlWaybillSparkSubmitOperator(SparkSubmitOperator):

    def pre_execute(self, context):
        day = cst.convert(context['ti'].execution_date) + timedelta(hours=1)

        schedule_date = ['00','04','08','12','16','20']

        if day.strftime('%H') in schedule_date:
            print(f'{day.strftime("%H")} in {schedule_date}, run now')
            super().pre_execute(context)
        else:
            print(f'{day.strftime("%H")} not in {schedule_date}, should skip')
            raise AirflowSkipException()

jms_ods__yl_oms_oms_waybill_update_hi = etlWaybillSparkSubmitOperator(
    task_id='jms_ods__yl_oms_oms_waybill_update_hi',
    email=['rongguangfan@jtexpress.com','yl_bigdata@yl-scm.com'],
    name='jms_ods__yl_oms_oms_waybill_update_hi_{{ execution_date | hour_add(1) | cst_hour }}',
    pool='oracle_tab',
    pool_slots=1,
    execution_timeout=timedelta(minutes=100),
    driver_memory='4G',
    executor_memory='8G',
    executor_cores=4,
    num_executors=13,
    conf={'spark.dynamicAllocation.enabled'                  : 'true',
          'spark.shuffle.service.enabled'                    : 'true',
          'spark.dynamicAllocation.maxExecutors'             : 15,
          'spark.dynamicAllocation.cachedExecutorIdleTimeout': 8,
          'spark.sql.sources.partitionOverwriteMode'         : 'dynamic',
          'spark.executor.memoryOverhead'                    : '2G',
          },
    java_class='com.yunlu.bigdata.jobs.synchrotool.DataSynchDriver',  # spark 主类
    application='hdfs:///scheduler/jms/spark/rgf/spark_sync.jar',  # spark jar 包
    application_args=[jsonpara,],
    sla=timedelta(minutes=30),
)